// #include"cpp-httplib/httplib.h"
// #include<iostream>
// #include"searcher.hpp"

// const std::string root_path="./wwwwroot";
// int main()
// {
//     httplib::Server svr;  // 创建一个 httplib 的 Server 对象，用于搭建 HTTP 服务器
//     svr.set_base_dir(root_path.c_str());
//     // 定义一个处理 GET 请求的路由，当客户端访问 "/hi" 路径时，会执行这个 lambda 表达式
//     svr.Get("/hi", [](const httplib::Request &req, httplib::Response &rsp) {
//         rsp.set_content("hello world!", "text/plain; charset=utf-8"); 
//         // 设置响应内容为 "hello world!"，并指定内容类型为纯文本，字符编码为 utf-8
//     });

//     svr.listen("0.0.0.0", 9998);  // 让服务器监听在 0.0.0.0（表示监听所有可用的网络接口）的 8081 端口上
//     return 0;
// }
#include "cpp-httplib/httplib.h"
#include "searcher.hpp"
#include"log.hpp"

const std::string input = "data/raw_html/raw.txt";
const std::string root_path = "./wwwroot";

int main()
{
    ns_searcher::Searcher search;
    search.InitSearcher(input);

    httplib::Server svr;
    svr.set_base_dir(root_path.c_str());
    svr.Get("/s", [&search](const httplib::Request &req, httplib::Response &rsp){
            if(!req.has_param("word")){
                rsp.set_content("必须要有搜索关键字!", "text/plain; charset=utf-8");
                return;
            }
            std::string word = req.get_param_value("word");
            //std::cout << "用户在搜索：" << word << std::endl;
            // lg(Info, "用户搜索的: %s" , word);
            std::string json_string;
            search.Search(word, &json_string);
            rsp.set_content(json_string, "application/json");
            //rsp.set_content("你好,世界!", "text/plain; charset=utf-8");
            });

    lg(Info, "服务器启动成功...");
    svr.listen("0.0.0.0", 9998);
    return 0;
}
 